package club.pojo;

import com.baomidou.mybatisplus.annotations.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Pet 类用于表示宠物的实体类。
 *
 * - id: 宠物ID
 * - petName: 宠物名字
 * - petType: 宠物类型
 * - sex: 宠物性别
 * - birthday: 宠物生日，使用 @JsonFormat 和 @DateTimeFormat 注解将日期格式化为 "yyyy-MM-dd" 格式，时区为 GMT+8。
 * - pic: 宠物图片
 * - state: 宠物状态
 * - remark: 备注信息
 * - adoptAnimalList: 领养该宠物的领养记录列表，使用 @TableField(exist = false) 表示在数据库中不存在该字段，仅用于关联查询时使用
 * - commentList: 关联的评论列表，使用 @TableField(exist = false) 同样表示在数据库中不存在该字段，仅用于关联查询时使用
 */
@Data
public class Pet {
    private Integer id;
    private String petName;
    private String petType;
    private String sex;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
    private String pic;
    private Integer state;
    private String remark;

    @TableField(exist = false)
    private List<AdoptAnimal> adoptAnimalList=new ArrayList<>();
    @TableField(exist = false)
    private List<Comment> commentList=new ArrayList<>();

}
